#ifndef SOURCEFIELD_TRAITS_HPP
#define SOURCEFIELD_TRAITS_HPP

/* don't include this anywhere but in sourceField.hpp */

namespace hms
{

template<typename _MeshType>
class FieldTraits<SourceField<NonUniform, _MeshType>> {
public:
	using MeshType = _MeshType;
	using ValueType = const ArrayXXs&;
	using ConstValueType = ValueType;
};

template<typename _MeshType>
class FieldTraits<SourceField<Uniform, _MeshType>> {
public:
	using MeshType = _MeshType;
	using ValueType = Eigen::Replicate<ArrayXXs, Dynamic, Dynamic>;
	using ConstValueType = ValueType;
};

} // namespace hms


#endif